home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / clang / nn.zip / VARARG.H < prev    next >
C/C++ Source or Header  |  1989-06-28  |  737b  |  43 lines

  1.  
  2. /*
  3.  * semi-faked varargs feature
  4.  */
  5.  
  6. #ifdef NO_VARARGS
  7.  
  8. #define va_alist    a, b, c, d, e, f, g, h
  9. #define va_dcl        char *a, *b, *c, *d, *e, *f, *g, *h;
  10. #define va_list        int
  11.  
  12. #define va_arg1(type)    (type)a
  13. #define va_arg2(type)    (type)b
  14. #define va_args1toN    a, b, c, d, e, f, g, h
  15. #define va_args2toN    b, c, d, e, f, g, h
  16. #define va_args3toN    c, d, e, f, g, h
  17.  
  18. #define vsprintf    sprintf
  19. #define vprintf        printf
  20.  
  21. #define va_start(ap)
  22. #define va_end(ap)
  23.  
  24. #define va_tail        va_alist
  25. #define va_tdcl        va_dcl
  26.  
  27. #else
  28.  
  29. #include <varargs.h>
  30.  
  31. #define va_tail        ap
  32. #define    va_tdcl        va_list va_tail;
  33.  
  34. #define va_arg1(type)    va_arg(ap, type)
  35. #define va_arg2(type)    va_arg(ap, type)
  36. #define va_args1toN    ap
  37. #define va_args2toN    ap
  38. #define va_args3toN    ap
  39.  
  40. #endif
  41.  
  42.  
  43.